<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Jetson Inference: jetson-utils/glDisplay.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="NVLogo_2D.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Jetson Inference
   </div>
   <div id="projectbrief">DNN Vision Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('glDisplay_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">glDisplay.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="glDisplay_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * copy of this software and associated documentation files (the &quot;Software&quot;),</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * to deal in the Software without restriction, including without limitation</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * Software is furnished to do so, subject to the following conditions:</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * all copies or substantial portions of the Software.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * DEALINGS IN THE SOFTWARE.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#ifndef __GL_VIEWPORT_H__</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define __GL_VIEWPORT_H__</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="videoOutput_8h.html">videoOutput.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="glUtility_8h.html">glUtility.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="glTexture_8h.html">glTexture.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="glEvents_8h.html">glEvents.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="glWidget_8h.html">glWidget.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="group__OpenGL.html">   47</a></span>&#160;<span class="keyword">class </span><a class="code" href="group__OpenGL.html#classglDisplay">glDisplay</a> : <span class="keyword">public</span> <a class="code" href="group__video.html#classvideoOutput">videoOutput</a></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">static</span> <a class="code" href="group__OpenGL.html#classglDisplay">glDisplay</a>* <a class="code" href="group__OpenGL.html#a37ade3534f9a2eae6f77170310d1e9f0">Create</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* title=NULL, <span class="keywordtype">int</span> width=-1, <span class="keywordtype">int</span> height=-1,</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                                                 <span class="keywordtype">float</span> r=0.05f, <span class="keywordtype">float</span> g=0.05f, <span class="keywordtype">float</span> b=0.05f, <span class="keywordtype">float</span> a=1.0f );</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keyword">static</span> <a class="code" href="group__OpenGL.html#classglDisplay">glDisplay</a>* <a class="code" href="group__OpenGL.html#a37ade3534f9a2eae6f77170310d1e9f0">Create</a>( <span class="keyword">const</span> <a class="code" href="group__video.html#structvideoOptions">videoOptions</a>&amp; options );</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <a class="code" href="group__OpenGL.html#a3978a9f43490e6f19268ca5225679c60">~glDisplay</a>();</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a65a2ec3a8dae7febff9c1e46b426c891">Open</a>();</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a7c96e8b41901e1b0555baef0433d5794">   83</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a7c96e8b41901e1b0555baef0433d5794">IsOpen</a>()<span class="keyword"> const                              </span>{ <span class="keywordflow">return</span> <a class="code" href="group__video.html#a473772043b363d7c8dc00cddb70b0aa9">mStreaming</a>; }</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a634ed5ff30a1d2944f3667157a649c9a">   88</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a634ed5ff30a1d2944f3667157a649c9a">IsClosed</a>()<span class="keyword"> const                            </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__video.html#a473772043b363d7c8dc00cddb70b0aa9">mStreaming</a>; }</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a89c660203dc7e4c95ebf1069681121b1">   93</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a89c660203dc7e4c95ebf1069681121b1">IsRendering</a>()<span class="keyword"> const                 </span>{ <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#a82d14054eb62a16e6101a57e32a050e1">mRendering</a>; }</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a130822b4a5eda58692c0899627790700">   98</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code" href="group__OpenGL.html#a130822b4a5eda58692c0899627790700">GetFPS</a>()<span class="keyword"> const                             </span>{ <span class="keywordflow">return</span> 1000000000.0f / <a class="code" href="group__OpenGL.html#a5696e63a87c34b0d50d1615bca5072ad">mAvgTime</a>; }</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a14cf9b4f8c585e52963e8f644b816cd1">  103</a></span>&#160;        <span class="keyword">inline</span> uint32_t <a class="code" href="group__OpenGL.html#a14cf9b4f8c585e52963e8f644b816cd1">GetID</a>()<span class="keyword"> const                           </span>{ <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#a3af6f1d107f3deb4b18230af4e3561a8">mID</a>; }</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a2dd585c39b61c2b06c4bf21b9663ef93">  108</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">inline</span> uint32_t <a class="code" href="group__OpenGL.html#a2dd585c39b61c2b06c4bf21b9663ef93">GetType</a>()<span class="keyword"> const         </span>{ <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#a13bebe88c1df15a70255134da202a131">Type</a>; }</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a13bebe88c1df15a70255134da202a131">  113</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> uint32_t <a class="code" href="group__OpenGL.html#a13bebe88c1df15a70255134da202a131">Type</a> = (1 &lt;&lt; 3);</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#aa8abd41c4dbaca15b2d092168ee14a83">BeginRender</a>( <span class="keywordtype">bool</span> processEvents=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a97612036c5849cb4d7026337f2603c87">EndRender</a>();</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a528c58b4fcecd7d3d516f44de3233538">Render</a>( <a class="code" href="group__OpenGL.html#classglTexture">glTexture</a>* texture, <span class="keywordtype">float</span> x=5.0f, <span class="keywordtype">float</span> y=30.0f );</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a528c58b4fcecd7d3d516f44de3233538">Render</a>( <span class="keywordtype">float</span>* image, uint32_t width, uint32_t height, <span class="keywordtype">float</span> x=0.0f, <span class="keywordtype">float</span> y=30.0f, <span class="keywordtype">bool</span> <a class="code" href="cudaMath_8h.html#a03895877c88d7a470fbd49f69742033a">normalize</a>=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a17d12d2c47a7015917dd047734eb3e73">  160</a></span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a17d12d2c47a7015917dd047734eb3e73">Render</a>( T* image, uint32_t width, uint32_t height )           { <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#a17d12d2c47a7015917dd047734eb3e73">Render</a>((<span class="keywordtype">void</span>**)image, width, height, imageFormatFromType&lt;T&gt;()); }</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        </div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a528c58b4fcecd7d3d516f44de3233538">Render</a>( <span class="keywordtype">void</span>* image, uint32_t width, uint32_t height, <a class="code" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format );</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a5209a3268ef0abe27d00dd012594f793">RenderImage</a>( <span class="keywordtype">void</span>* image, uint32_t width, uint32_t height, <a class="code" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format, <span class="keywordtype">float</span> x=0.0f, <span class="keywordtype">float</span> y=30.0f, <span class="keywordtype">bool</span> <a class="code" href="cudaMath_8h.html#a03895877c88d7a470fbd49f69742033a">normalize</a>=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a117190eeed8ed905cb9330552edd9625">RenderOnce</a>( <span class="keywordtype">void</span>* image, uint32_t width, uint32_t height, <a class="code" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format, <span class="keywordtype">float</span> x=5.0f, <span class="keywordtype">float</span> y=30.0f, <span class="keywordtype">bool</span> <a class="code" href="cudaMath_8h.html#a03895877c88d7a470fbd49f69742033a">normalize</a>=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a117190eeed8ed905cb9330552edd9625">RenderOnce</a>( <span class="keywordtype">float</span>* image, uint32_t width, uint32_t height, <span class="keywordtype">float</span> x=5.0f, <span class="keywordtype">float</span> y=30.0f, <span class="keywordtype">bool</span> <a class="code" href="cudaMath_8h.html#a03895877c88d7a470fbd49f69742033a">normalize</a>=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a13db65eada3b098f3e301fee10de9917">RenderLine</a>( <span class="keywordtype">float</span> x1, <span class="keywordtype">float</span> y1, <span class="keywordtype">float</span> x2, <span class="keywordtype">float</span> y2, <span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a=1.0f, <span class="keywordtype">float</span> thickness=2.0f );</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a58a8c3a68b96d5e52484354634ffec3b">RenderOutline</a>( <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> width, <span class="keywordtype">float</span> height, <span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a=1.0f, <span class="keywordtype">float</span> thickness=2.0f );</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#ac390303fad04b7ffac04f208f48ea536">RenderRect</a>( <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> width, <span class="keywordtype">float</span> height, <span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a=1.0f );</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#ac390303fad04b7ffac04f208f48ea536">RenderRect</a>( <span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a=1.0f );</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160; </div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a52516d4523e536c9ed2e40113ee3856e">SetSize</a>( uint32_t width, uint32_t height );</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160; </div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#aa8149384dbd4a389281d1420608e8418">SetMaximized</a>( <span class="keywordtype">bool</span> maximized );</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a3bfec8d5ad04e8737a3ef7cfb13bc06f">IsMaximized</a>();</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        </div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#ae48ceb52e06b5d111777c5a92e3380db">SetFullscreen</a>( <span class="keywordtype">bool</span> fullscreen );</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        </div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a90e336dd87d340d9fcf592f297fcf3b9">IsFullscreen</a>();</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160; </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160; </div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; </div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a5e115cfde574e1b517a6422b1c3fbf02">GetBackgroundColor</a>( <span class="keywordtype">float</span>* r, <span class="keywordtype">float</span>* g, <span class="keywordtype">float</span>* b, <span class="keywordtype">float</span>* a=NULL );</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160; </div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a1494b4f48cc98493ff9d38537df076e7">SetBackgroundColor</a>( <span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a=1.0f );</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160; </div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a61179bfa1ba61d66ff243273c71bf5a3">SetViewport</a>( <span class="keywordtype">int</span> left, <span class="keywordtype">int</span> top, <span class="keywordtype">int</span> right, <span class="keywordtype">int</span> bottom );</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a23dd7a9f481c772766f049d8056a8dad">ResetViewport</a>();</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160; </div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160; </div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160; </div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160; </div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a63804bbc679034342b14fe4c2c4da042">SetStatus</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* str );</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a4a4943779f0d036af2e49fc9d9a8aade">SetTitle</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* str );</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160; </div>
<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a1fc9d28ddbc0f849aea7b80e96b09a68">  329</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__OpenGL.html#a1fc9d28ddbc0f849aea7b80e96b09a68">DEFAULT_TITLE</a>;</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160; </div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160; </div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7">ProcessEvents</a>();</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#ab84607fffba7eb6a8dc4cd71981aefb6">AddEventHandler</a>( <a class="code" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a> callback, <span class="keywordtype">void</span>* user=NULL );</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160; </div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#aa1c19aa18e413da822f284c500a2af6f">RemoveEventHandler</a>( <a class="code" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a> callback, <span class="keywordtype">void</span>* user=NULL );</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160; </div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a84eb9bf5d9f74d79fe8ba412081a8998">  380</a></span>&#160;        <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">int</span>* <a class="code" href="group__OpenGL.html#a84eb9bf5d9f74d79fe8ba412081a8998">GetMousePosition</a>()<span class="keyword"> const                      </span>{ <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#a4ac59e4ff11c7ccb0a6e86ddc0a164da">mMousePos</a>; }</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a57d3f8b1bec6eba7925e187367adab47">  385</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a57d3f8b1bec6eba7925e187367adab47">GetMousePosition</a>( <span class="keywordtype">int</span>* x, <span class="keywordtype">int</span>* y )<span class="keyword"> const    </span>{ <span class="keywordflow">if</span>(x) *x = <a class="code" href="group__OpenGL.html#a4ac59e4ff11c7ccb0a6e86ddc0a164da">mMousePos</a>[0]; <span class="keywordflow">if</span>(y) *y = <a class="code" href="group__OpenGL.html#a4ac59e4ff11c7ccb0a6e86ddc0a164da">mMousePos</a>[1]; }</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a611350bedb3e68adfd0e691f3612fc89">  402</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a611350bedb3e68adfd0e691f3612fc89">GetMouseButton</a>( uint32_t button )<span class="keyword"> const     </span>{ <span class="keywordflow">if</span>(button &gt; <span class="keyword">sizeof</span>(<a class="code" href="group__OpenGL.html#a7798109b583a2443473d895e62afce67">mMouseButtons</a>)) <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#a7798109b583a2443473d895e62afce67">mMouseButtons</a>[button]; }</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160; </div>
<div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a11c7c3c210333feb222d6f2480dbbc85">  425</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a11c7c3c210333feb222d6f2480dbbc85">GetKey</a>( uint32_t key )<span class="keyword"> const                        </span>{ <span class="keyword">const</span> uint32_t idx = key - <a class="code" href="glEvents_8h.html#aa598baa2224b84dff25efa47099a37d7">KEY_OFFSET</a>; <span class="keywordflow">if</span>(idx &gt; <span class="keyword">sizeof</span>(<a class="code" href="group__OpenGL.html#a5a8ca8f41ba40ac0e3f4c7775e8ecf58">mKeyStates</a>)) <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#a5a8ca8f41ba40ac0e3f4c7775e8ecf58">mKeyStates</a>[idx]; }</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160; </div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160; </div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160; </div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160; </div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a93f2524dad00aad905af487e6e30c5e3">SetCursor</a>( uint32_t cursor );</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a8ebb8bd67bd55d9a1a24189ba46d09ab">SetDefaultCursor</a>( uint32_t cursor, <span class="keywordtype">bool</span> activate=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160; </div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69">ResetCursor</a>();</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160; </div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a617f568a9a94622e9c687540e36ea064">ResetDefaultCursor</a>( <span class="keywordtype">bool</span> activate=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160; </div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160; </div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160; </div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160; </div>
<div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">  500</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a></div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;        {</div>
<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880">  502</a></span>&#160;                <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880">DragDefault</a>,    </div>
<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca886b6f2e955b7c47975603e2b9077107">  503</a></span>&#160;                <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca886b6f2e955b7c47975603e2b9077107">DragDisabled</a>,   </div>
<div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca7c0c23139342b3550ff19b6025087575">  504</a></span>&#160;                <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca7c0c23139342b3550ff19b6025087575">DragSelect</a>,     </div>
<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca96547b2cd90fa0568fac9236a4cf9ff2">  505</a></span>&#160;                <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca96547b2cd90fa0568fac9236a4cf9ff2">DragCreate</a>      </div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;        };</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160; </div>
<div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a2869b89190621c2fc502c0263035ca10">  511</a></span>&#160;        <span class="keyword">inline</span> <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a> <a class="code" href="group__OpenGL.html#a2869b89190621c2fc502c0263035ca10">GetDragMode</a>()<span class="keyword"> const                                     </span>{ <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#a0fa64e4b894f4084fb9c6ba1fb249658">mDragMode</a>; }</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160; </div>
<div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="group__OpenGL.html#aad873a9d842442644747bdb3176efad8">  516</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#aad873a9d842442644747bdb3176efad8">SetDragMode</a>( <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a> mode )                                { <a class="code" href="group__OpenGL.html#a0fa64e4b894f4084fb9c6ba1fb249658">mDragMode</a> = mode; }</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160; </div>
<div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a6f26c928e592b54e91d95e3edd96575a">  521</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a6f26c928e592b54e91d95e3edd96575a">IsDragging</a>( <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a> mode=<a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880">DragDefault</a> )<span class="keyword"> const       </span>{ <span class="keywordflow">return</span> mode == <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca96547b2cd90fa0568fac9236a4cf9ff2">DragCreate</a> ? (<a class="code" href="group__OpenGL.html#aa7d6851d22a0f03db3d17cf36ca6497d">mMouseDragOrigin</a>[0] &gt;= 0 &amp;&amp; <a class="code" href="group__OpenGL.html#aa7d6851d22a0f03db3d17cf36ca6497d">mMouseDragOrigin</a>[1] &gt;= 0) : (<a class="code" href="group__OpenGL.html#a90ec991e713327245bcbc0e70af66232">mMouseDrag</a>[0] &gt;= 0 &amp;&amp; <a class="code" href="group__OpenGL.html#a90ec991e713327245bcbc0e70af66232">mMouseDrag</a>[1] &gt;= 0); }</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160; </div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a2a1bbe0f4e81a8a639ad1262e2e984e1">GetDragRect</a>( <span class="keywordtype">int</span>* x, <span class="keywordtype">int</span>* y, <span class="keywordtype">int</span>* width, <span class="keywordtype">int</span>* height );</div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160; </div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a737d99f08c2b1cedcacb1f1f559bf1aa">GetDragCoords</a>( <span class="keywordtype">int</span>* x1, <span class="keywordtype">int</span>* y1, <span class="keywordtype">int</span>* x2, <span class="keywordtype">int</span>* y2 );</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160; </div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160; </div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160; </div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160; </div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        <a class="code" href="group__OpenGL.html#classglWidget">glWidget</a>* <a class="code" href="group__OpenGL.html#a50563f4387bcc0d66a61bf29cfa521a9">AddWidget</a>( <a class="code" href="group__OpenGL.html#classglWidget">glWidget</a>* widget );</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a6de44eb3a03c6053ee61cb5cccce3f28">RemoveWidget</a>( <a class="code" href="group__OpenGL.html#classglWidget">glWidget</a>* widget, <span class="keywordtype">bool</span> deleteWidget=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160; </div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a6de44eb3a03c6053ee61cb5cccce3f28">RemoveWidget</a>( uint32_t index, <span class="keywordtype">bool</span> deleteWidget=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160; </div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a5e209d2b90b11c2948a0cd98c19624e7">RemoveAllWidgets</a>( <span class="keywordtype">bool</span> deleteWidgets=<span class="keyword">true</span> );</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160; </div>
<div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a80669db30cd225b4f6d0b8ab59237a97">  564</a></span>&#160;        <span class="keyword">inline</span> uint32_t <a class="code" href="group__OpenGL.html#a80669db30cd225b4f6d0b8ab59237a97">GetNumWidgets</a>()<span class="keyword"> const                                   </span>{ <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#af4009a157353ae44f371fd3d5ca4bc08">mWidgets</a>.size(); }</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160; </div>
<div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="group__OpenGL.html#ab03fa54f8098a9db65bbdc1f00622ab0">  569</a></span>&#160;        <span class="keyword">inline</span> <a class="code" href="group__OpenGL.html#classglWidget">glWidget</a>* <a class="code" href="group__OpenGL.html#ab03fa54f8098a9db65bbdc1f00622ab0">GetWidget</a>( <span class="keyword">const</span> uint32_t index )<span class="keyword"> const        </span>{ <span class="keywordflow">return</span> <a class="code" href="group__OpenGL.html#af4009a157353ae44f371fd3d5ca4bc08">mWidgets</a>[index]; }</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160; </div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="group__OpenGL.html#a2d13a48ff0860c5da554443a27413ad9">GetWidgetIndex</a>( <span class="keyword">const</span> <a class="code" href="group__OpenGL.html#classglWidget">glWidget</a>* widget ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160; </div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        <a class="code" href="group__OpenGL.html#classglWidget">glWidget</a>* <a class="code" href="group__OpenGL.html#a9d0985706dcaac9919dd75c858466546">FindWidget</a>( <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160; </div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;        std::vector&lt;glWidget*&gt; <a class="code" href="group__OpenGL.html#a5a2cdebdf11ee3087900592d651bcceb">FindWidgets</a>( <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );</div>
<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160; </div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160; </div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;        <a class="code" href="group__OpenGL.html#a2559c6f33ab5760f3f2efe345bf9fa97">glDisplay</a>( <span class="keyword">const</span> <a class="code" href="group__video.html#structvideoOptions">videoOptions</a>&amp; options );</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;                </div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a2d545e3ad748e899a413b1c954dc06d4">initWindow</a>();</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a022eebf333e5acf6df0fcf2f632a470a">initGL</a>();</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160; </div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;        <a class="code" href="group__OpenGL.html#classglTexture">glTexture</a>* <a class="code" href="group__OpenGL.html#a518774deb1f2fa3e57e046b1150c7c5d">allocTexture</a>( uint32_t width, uint32_t height, <a class="code" href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a> format ); </div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160; </div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#ac62b17bd5fc32d79a65c4fe675ba643c">activateViewport</a>();</div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160; </div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="group__OpenGL.html#a003b6aa5e7a7e32eee46b2720e6f1f1f">dispatchEvent</a>( uint16_t msg, <span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b );</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="group__OpenGL.html#a0b7479b6bc4e384c66b164411333f00e">onEvent</a>( uint16_t msg, <span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b, <span class="keywordtype">void</span>* user );</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160; </div>
<div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="structglDisplay_1_1eventHandler.html">  601</a></span>&#160;        <span class="keyword">struct </span><a class="code" href="structglDisplay_1_1eventHandler.html">eventHandler</a></div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;        {</div>
<div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="structglDisplay_1_1eventHandler.html#ab54a82feec2372289c14d0026f5f4b62">  603</a></span>&#160;                <a class="code" href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a> <a class="code" href="structglDisplay_1_1eventHandler.html#ab54a82feec2372289c14d0026f5f4b62">callback</a>;</div>
<div class="line"><a name="l00604"></a><span class="lineno"><a class="line" href="structglDisplay_1_1eventHandler.html#a5c06d37184362d34321caf43317f9ddf">  604</a></span>&#160;                <span class="keywordtype">void</span>* <a class="code" href="structglDisplay_1_1eventHandler.html#a5c06d37184362d34321caf43317f9ddf">user</a>;</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        };</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160; </div>
<div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a987e05d68219418d2d232665d92cc1a2">  607</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="group__OpenGL.html#a987e05d68219418d2d232665d92cc1a2">screenIdx</a> = 0;</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;                </div>
<div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="group__OpenGL.html#ad809588391d7a2edafb0df1ea96ac35a">  609</a></span>&#160;        Display*     <a class="code" href="group__OpenGL.html#ad809588391d7a2edafb0df1ea96ac35a">mDisplayX</a>;</div>
<div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a90154b9452e23a0665360e2008950e23">  610</a></span>&#160;        Screen*      <a class="code" href="group__OpenGL.html#a90154b9452e23a0665360e2008950e23">mScreenX</a>;</div>
<div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a327c40adf83a91f4fb4916bc577ae0ab">  611</a></span>&#160;        XVisualInfo* <a class="code" href="group__OpenGL.html#a327c40adf83a91f4fb4916bc577ae0ab">mVisualX</a>;</div>
<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a59861c4376b388d34c57f06c9a460e97">  612</a></span>&#160;        Window       <a class="code" href="group__OpenGL.html#a59861c4376b388d34c57f06c9a460e97">mWindowX</a>;</div>
<div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="group__OpenGL.html#aecdedd41e0d674fb614b88fd9ca9fa15">  613</a></span>&#160;        GLXContext   <a class="code" href="group__OpenGL.html#aecdedd41e0d674fb614b88fd9ca9fa15">mContextGL</a>;</div>
<div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a05d0a6f141e5e77df7fddca438627b2b">  614</a></span>&#160;        Cursor     <a class="code" href="group__OpenGL.html#a05d0a6f141e5e77df7fddca438627b2b">mCursors</a>[256];</div>
<div class="line"><a name="l00615"></a><span class="lineno"><a class="line" href="group__OpenGL.html#aab1f8e0d4ac630ab4c9ab681c61d8419">  615</a></span>&#160;        <span class="keywordtype">int</span>             <a class="code" href="group__OpenGL.html#aab1f8e0d4ac630ab4c9ab681c61d8419">mActiveCursor</a>;</div>
<div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="group__OpenGL.html#ae5eeb341bb438b349634928c6ee92813">  616</a></span>&#160;        <span class="keywordtype">int</span>          <a class="code" href="group__OpenGL.html#ae5eeb341bb438b349634928c6ee92813">mDefaultCursor</a>;</div>
<div class="line"><a name="l00617"></a><span class="lineno"><a class="line" href="group__OpenGL.html#ac78bc19a9838670a017e80f56b9037df">  617</a></span>&#160;        <span class="keywordtype">bool</span>               <a class="code" href="group__OpenGL.html#ac78bc19a9838670a017e80f56b9037df">mInitialShow</a>;</div>
<div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a82d14054eb62a16e6101a57e32a050e1">  618</a></span>&#160;        <span class="keywordtype">bool</span>               <a class="code" href="group__OpenGL.html#a82d14054eb62a16e6101a57e32a050e1">mRendering</a>;</div>
<div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a50e2a59369c56c0b43cb2c45ae1bdb9f">  619</a></span>&#160;        <span class="keywordtype">bool</span>               <a class="code" href="group__OpenGL.html#a50e2a59369c56c0b43cb2c45ae1bdb9f">mResizedToFeed</a>;</div>
<div class="line"><a name="l00620"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a4d20a9b3eb655b1719c3896f9af608e4">  620</a></span>&#160;        Atom               <a class="code" href="group__OpenGL.html#a4d20a9b3eb655b1719c3896f9af608e4">mWindowClosedMsg</a>;</div>
<div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a0fa64e4b894f4084fb9c6ba1fb249658">  621</a></span>&#160;        <a class="code" href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">DragMode</a>           <a class="code" href="group__OpenGL.html#a0fa64e4b894f4084fb9c6ba1fb249658">mDragMode</a>;</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160; </div>
<div class="line"><a name="l00623"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a3af6f1d107f3deb4b18230af4e3561a8">  623</a></span>&#160;        uint32_t <a class="code" href="group__OpenGL.html#a3af6f1d107f3deb4b18230af4e3561a8">mID</a>;</div>
<div class="line"><a name="l00624"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a893682bb4ca0ae400c48aed020408128">  624</a></span>&#160;        uint32_t <a class="code" href="group__OpenGL.html#a893682bb4ca0ae400c48aed020408128">mScreenWidth</a>;</div>
<div class="line"><a name="l00625"></a><span class="lineno"><a class="line" href="group__OpenGL.html#adfe7e2b2b85b8888b21c07e56718ef57">  625</a></span>&#160;        uint32_t <a class="code" href="group__OpenGL.html#adfe7e2b2b85b8888b21c07e56718ef57">mScreenHeight</a>;</div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160; </div>
<div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a060f50c9661124d2d8aa457dfe30d4bc">  627</a></span>&#160;        timespec <a class="code" href="group__OpenGL.html#a060f50c9661124d2d8aa457dfe30d4bc">mLastTime</a>;</div>
<div class="line"><a name="l00628"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a5696e63a87c34b0d50d1615bca5072ad">  628</a></span>&#160;        <span class="keywordtype">float</span>    <a class="code" href="group__OpenGL.html#a5696e63a87c34b0d50d1615bca5072ad">mAvgTime</a>;</div>
<div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a56e08dd6f4895451391ff9ce7e7b9390">  629</a></span>&#160;        <span class="keywordtype">float</span>    <a class="code" href="group__OpenGL.html#a56e08dd6f4895451391ff9ce7e7b9390">mBgColor</a>[4];</div>
<div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a8aeb33cd6f58d26db77c9fce47fe746b">  630</a></span>&#160;        <span class="keywordtype">int</span>      <a class="code" href="group__OpenGL.html#a8aeb33cd6f58d26db77c9fce47fe746b">mViewport</a>[4];</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160; </div>
<div class="line"><a name="l00632"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a4ac59e4ff11c7ccb0a6e86ddc0a164da">  632</a></span>&#160;        <span class="keywordtype">int</span>         <a class="code" href="group__OpenGL.html#a4ac59e4ff11c7ccb0a6e86ddc0a164da">mMousePos</a>[2];</div>
<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a90ec991e713327245bcbc0e70af66232">  633</a></span>&#160;        <span class="keywordtype">int</span>         <a class="code" href="group__OpenGL.html#a90ec991e713327245bcbc0e70af66232">mMouseDrag</a>[2];</div>
<div class="line"><a name="l00634"></a><span class="lineno"><a class="line" href="group__OpenGL.html#aa7d6851d22a0f03db3d17cf36ca6497d">  634</a></span>&#160;        <span class="keywordtype">int</span>      <a class="code" href="group__OpenGL.html#aa7d6851d22a0f03db3d17cf36ca6497d">mMouseDragOrigin</a>[2];</div>
<div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a7798109b583a2443473d895e62afce67">  635</a></span>&#160;        <span class="keywordtype">bool</span>        <a class="code" href="group__OpenGL.html#a7798109b583a2443473d895e62afce67">mMouseButtons</a>[16];</div>
<div class="line"><a name="l00636"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a5a8ca8f41ba40ac0e3f4c7775e8ecf58">  636</a></span>&#160;        <span class="keywordtype">bool</span>     <a class="code" href="group__OpenGL.html#a5a8ca8f41ba40ac0e3f4c7775e8ecf58">mKeyStates</a>[1024];</div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160; </div>
<div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a927c5467f9926f769d96ab60c0d55724">  638</a></span>&#160;        <span class="keywordtype">float</span>*   <a class="code" href="group__OpenGL.html#a927c5467f9926f769d96ab60c0d55724">mNormalizedCUDA</a>;</div>
<div class="line"><a name="l00639"></a><span class="lineno"><a class="line" href="group__OpenGL.html#ac3a52573738ea17a2dd9d4263c166759">  639</a></span>&#160;        uint32_t <a class="code" href="group__OpenGL.html#ac3a52573738ea17a2dd9d4263c166759">mNormalizedWidth</a>;</div>
<div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="group__OpenGL.html#aebc8ffc67311372c24f60a8c33652f48">  640</a></span>&#160;        uint32_t <a class="code" href="group__OpenGL.html#aebc8ffc67311372c24f60a8c33652f48">mNormalizedHeight</a>;</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160; </div>
<div class="line"><a name="l00642"></a><span class="lineno"><a class="line" href="group__OpenGL.html#af4009a157353ae44f371fd3d5ca4bc08">  642</a></span>&#160;        std::vector&lt;glWidget*&gt; <a class="code" href="group__OpenGL.html#af4009a157353ae44f371fd3d5ca4bc08">mWidgets</a>;</div>
<div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a377aaed358a4452760e02580f89ac2ab">  643</a></span>&#160;        std::vector&lt;glTexture*&gt; <a class="code" href="group__OpenGL.html#a377aaed358a4452760e02580f89ac2ab">mTextures</a>;</div>
<div class="line"><a name="l00644"></a><span class="lineno"><a class="line" href="group__OpenGL.html#a63318712adb85328a1b42fc5237ba1d4">  644</a></span>&#160;        std::vector&lt;eventHandler&gt; <a class="code" href="group__OpenGL.html#a63318712adb85328a1b42fc5237ba1d4">mEventHandlers</a>;</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;};</div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160; </div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;<a class="code" href="group__OpenGL.html#classglDisplay">glDisplay</a>* <a class="code" href="group__OpenGL.html#ga6af68c26b9f5254ee676de8b6f332ad4">glGetDisplay</a>( uint32_t display=0 );</div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160; </div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;uint32_t <a class="code" href="group__OpenGL.html#ga80a5aa43c317714fe5bb41e1db6eb4c4">glGetNumDisplays</a>();</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160; </div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160; </div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="agroup__OpenGL_html_a4ac59e4ff11c7ccb0a6e86ddc0a164da"><div class="ttname"><a href="group__OpenGL.html#a4ac59e4ff11c7ccb0a6e86ddc0a164da">glDisplay::mMousePos</a></div><div class="ttdeci">int mMousePos[2]</div><div class="ttdef"><b>Definition:</b> glDisplay.h:632</div></div>
<div class="ttc" id="aglTexture_8h_html"><div class="ttname"><a href="glTexture_8h.html">glTexture.h</a></div></div>
<div class="ttc" id="agroup__OpenGL_html_a003b6aa5e7a7e32eee46b2720e6f1f1f"><div class="ttname"><a href="group__OpenGL.html#a003b6aa5e7a7e32eee46b2720e6f1f1f">glDisplay::dispatchEvent</a></div><div class="ttdeci">void dispatchEvent(uint16_t msg, int a, int b)</div></div>
<div class="ttc" id="agroup__OpenGL_html_aecdedd41e0d674fb614b88fd9ca9fa15"><div class="ttname"><a href="group__OpenGL.html#aecdedd41e0d674fb614b88fd9ca9fa15">glDisplay::mContextGL</a></div><div class="ttdeci">GLXContext mContextGL</div><div class="ttdef"><b>Definition:</b> glDisplay.h:613</div></div>
<div class="ttc" id="astructglDisplay_1_1eventHandler_html"><div class="ttname"><a href="structglDisplay_1_1eventHandler.html">glDisplay::eventHandler</a></div><div class="ttdef"><b>Definition:</b> glDisplay.h:601</div></div>
<div class="ttc" id="agroup__OpenGL_html_a2d13a48ff0860c5da554443a27413ad9"><div class="ttname"><a href="group__OpenGL.html#a2d13a48ff0860c5da554443a27413ad9">glDisplay::GetWidgetIndex</a></div><div class="ttdeci">int GetWidgetIndex(const glWidget *widget) const</div><div class="ttdoc">Retrieve the index of a widget (or -1 if not found)</div></div>
<div class="ttc" id="agroup__OpenGL_html_a5209a3268ef0abe27d00dd012594f793"><div class="ttname"><a href="group__OpenGL.html#a5209a3268ef0abe27d00dd012594f793">glDisplay::RenderImage</a></div><div class="ttdeci">void RenderImage(void *image, uint32_t width, uint32_t height, imageFormat format, float x=0.0f, float y=30.0f, bool normalize=true)</div><div class="ttdoc">Render a CUDA image (uchar3, uchar4, float3, float4) using OpenGL interop.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a58a8c3a68b96d5e52484354634ffec3b"><div class="ttname"><a href="group__OpenGL.html#a58a8c3a68b96d5e52484354634ffec3b">glDisplay::RenderOutline</a></div><div class="ttdeci">void RenderOutline(float x, float y, float width, float height, float r, float g, float b, float a=1.0f, float thickness=2.0f)</div><div class="ttdoc">Render the outline of a rect in screen coordinates with the specified color.</div></div>
<div class="ttc" id="agroup__OpenGL_html_classglWidget"><div class="ttname"><a href="group__OpenGL.html#classglWidget">glWidget</a></div><div class="ttdoc">OpenGL graphics widget for rendering moveable/resizable shapes.</div><div class="ttdef"><b>Definition:</b> glWidget.h:40</div></div>
<div class="ttc" id="agroup__OpenGL_html_a2869b89190621c2fc502c0263035ca10"><div class="ttname"><a href="group__OpenGL.html#a2869b89190621c2fc502c0263035ca10">glDisplay::GetDragMode</a></div><div class="ttdeci">DragMode GetDragMode() const</div><div class="ttdoc">Get the dragging behavior mode.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:511</div></div>
<div class="ttc" id="agroup__OpenGL_html_ga80a5aa43c317714fe5bb41e1db6eb4c4"><div class="ttname"><a href="group__OpenGL.html#ga80a5aa43c317714fe5bb41e1db6eb4c4">glGetNumDisplays</a></div><div class="ttdeci">uint32_t glGetNumDisplays()</div><div class="ttdoc">Return the number of created glDisplay windows.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a1fc9d28ddbc0f849aea7b80e96b09a68"><div class="ttname"><a href="group__OpenGL.html#a1fc9d28ddbc0f849aea7b80e96b09a68">glDisplay::DEFAULT_TITLE</a></div><div class="ttdeci">static const char * DEFAULT_TITLE</div><div class="ttdoc">Default title bar name.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:329</div></div>
<div class="ttc" id="agroup__OpenGL_html_a55c92bc0159c94b720a5bdd06cefcd69"><div class="ttname"><a href="group__OpenGL.html#a55c92bc0159c94b720a5bdd06cefcd69">glDisplay::ResetCursor</a></div><div class="ttdeci">void ResetCursor()</div><div class="ttdoc">Reset the mouse cursor back to it's default.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a27bf4053fddbb4e0fdc88e142b2a7bb7"><div class="ttname"><a href="group__OpenGL.html#a27bf4053fddbb4e0fdc88e142b2a7bb7">glDisplay::ProcessEvents</a></div><div class="ttdeci">void ProcessEvents()</div><div class="ttdoc">Process UI event messages.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a528c58b4fcecd7d3d516f44de3233538"><div class="ttname"><a href="group__OpenGL.html#a528c58b4fcecd7d3d516f44de3233538">glDisplay::Render</a></div><div class="ttdeci">void Render(glTexture *texture, float x=5.0f, float y=30.0f)</div><div class="ttdoc">Render an OpenGL texture.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a327c40adf83a91f4fb4916bc577ae0ab"><div class="ttname"><a href="group__OpenGL.html#a327c40adf83a91f4fb4916bc577ae0ab">glDisplay::mVisualX</a></div><div class="ttdeci">XVisualInfo * mVisualX</div><div class="ttdef"><b>Definition:</b> glDisplay.h:611</div></div>
<div class="ttc" id="agroup__OpenGL_html_a117190eeed8ed905cb9330552edd9625"><div class="ttname"><a href="group__OpenGL.html#a117190eeed8ed905cb9330552edd9625">glDisplay::RenderOnce</a></div><div class="ttdeci">void RenderOnce(void *image, uint32_t width, uint32_t height, imageFormat format, float x=5.0f, float y=30.0f, bool normalize=true)</div><div class="ttdoc">Begin the frame, render one CUDA image using OpenGL interop, and end the frame.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a93f2524dad00aad905af487e6e30c5e3"><div class="ttname"><a href="group__OpenGL.html#a93f2524dad00aad905af487e6e30c5e3">glDisplay::SetCursor</a></div><div class="ttdeci">void SetCursor(uint32_t cursor)</div><div class="ttdoc">Set the active mouse cursor.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a0d39d6f011999828560d8353edadf46ca886b6f2e955b7c47975603e2b9077107"><div class="ttname"><a href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca886b6f2e955b7c47975603e2b9077107">glDisplay::DragDisabled</a></div><div class="ttdeci">@ DragDisabled</div><div class="ttdoc">Disable issuing all MOUSE_DRAG events.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:503</div></div>
<div class="ttc" id="agroup__OpenGL_html_a8ebb8bd67bd55d9a1a24189ba46d09ab"><div class="ttname"><a href="group__OpenGL.html#a8ebb8bd67bd55d9a1a24189ba46d09ab">glDisplay::SetDefaultCursor</a></div><div class="ttdeci">void SetDefaultCursor(uint32_t cursor, bool activate=true)</div><div class="ttdoc">Set the default mouse cursor that gets used by ResetCursor()</div></div>
<div class="ttc" id="agroup__OpenGL_html_a63804bbc679034342b14fe4c2c4da042"><div class="ttname"><a href="group__OpenGL.html#a63804bbc679034342b14fe4c2c4da042">glDisplay::SetStatus</a></div><div class="ttdeci">virtual void SetStatus(const char *str)</div><div class="ttdoc">Set the window title string.</div></div>
<div class="ttc" id="agroup__OpenGL_html_classglDisplay"><div class="ttname"><a href="group__OpenGL.html#classglDisplay">glDisplay</a></div><div class="ttdoc">OpenGL display window and image/video renderer with CUDA interoperability.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:47</div></div>
<div class="ttc" id="agroup__OpenGL_html_ae5eeb341bb438b349634928c6ee92813"><div class="ttname"><a href="group__OpenGL.html#ae5eeb341bb438b349634928c6ee92813">glDisplay::mDefaultCursor</a></div><div class="ttdeci">int mDefaultCursor</div><div class="ttdef"><b>Definition:</b> glDisplay.h:616</div></div>
<div class="ttc" id="agroup__OpenGL_html_aebc8ffc67311372c24f60a8c33652f48"><div class="ttname"><a href="group__OpenGL.html#aebc8ffc67311372c24f60a8c33652f48">glDisplay::mNormalizedHeight</a></div><div class="ttdeci">uint32_t mNormalizedHeight</div><div class="ttdef"><b>Definition:</b> glDisplay.h:640</div></div>
<div class="ttc" id="agroup__OpenGL_html_a5a8ca8f41ba40ac0e3f4c7775e8ecf58"><div class="ttname"><a href="group__OpenGL.html#a5a8ca8f41ba40ac0e3f4c7775e8ecf58">glDisplay::mKeyStates</a></div><div class="ttdeci">bool mKeyStates[1024]</div><div class="ttdef"><b>Definition:</b> glDisplay.h:636</div></div>
<div class="ttc" id="agroup__OpenGL_html_a377aaed358a4452760e02580f89ac2ab"><div class="ttname"><a href="group__OpenGL.html#a377aaed358a4452760e02580f89ac2ab">glDisplay::mTextures</a></div><div class="ttdeci">std::vector&lt; glTexture * &gt; mTextures</div><div class="ttdef"><b>Definition:</b> glDisplay.h:643</div></div>
<div class="ttc" id="agroup__OpenGL_html_a518774deb1f2fa3e57e046b1150c7c5d"><div class="ttname"><a href="group__OpenGL.html#a518774deb1f2fa3e57e046b1150c7c5d">glDisplay::allocTexture</a></div><div class="ttdeci">glTexture * allocTexture(uint32_t width, uint32_t height, imageFormat format)</div></div>
<div class="ttc" id="agroup__OpenGL_html_a2559c6f33ab5760f3f2efe345bf9fa97"><div class="ttname"><a href="group__OpenGL.html#a2559c6f33ab5760f3f2efe345bf9fa97">glDisplay::glDisplay</a></div><div class="ttdeci">glDisplay(const videoOptions &amp;options)</div></div>
<div class="ttc" id="agroup__OpenGL_html_aa7d6851d22a0f03db3d17cf36ca6497d"><div class="ttname"><a href="group__OpenGL.html#aa7d6851d22a0f03db3d17cf36ca6497d">glDisplay::mMouseDragOrigin</a></div><div class="ttdeci">int mMouseDragOrigin[2]</div><div class="ttdef"><b>Definition:</b> glDisplay.h:634</div></div>
<div class="ttc" id="astructglDisplay_1_1eventHandler_html_a5c06d37184362d34321caf43317f9ddf"><div class="ttname"><a href="structglDisplay_1_1eventHandler.html#a5c06d37184362d34321caf43317f9ddf">glDisplay::eventHandler::user</a></div><div class="ttdeci">void * user</div><div class="ttdef"><b>Definition:</b> glDisplay.h:604</div></div>
<div class="ttc" id="agroup__OpenGL_html_a1494b4f48cc98493ff9d38537df076e7"><div class="ttname"><a href="group__OpenGL.html#a1494b4f48cc98493ff9d38537df076e7">glDisplay::SetBackgroundColor</a></div><div class="ttdeci">void SetBackgroundColor(float r, float g, float b, float a=1.0f)</div><div class="ttdoc">Set the window's background color.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a50e2a59369c56c0b43cb2c45ae1bdb9f"><div class="ttname"><a href="group__OpenGL.html#a50e2a59369c56c0b43cb2c45ae1bdb9f">glDisplay::mResizedToFeed</a></div><div class="ttdeci">bool mResizedToFeed</div><div class="ttdef"><b>Definition:</b> glDisplay.h:619</div></div>
<div class="ttc" id="agroup__OpenGL_html_a59861c4376b388d34c57f06c9a460e97"><div class="ttname"><a href="group__OpenGL.html#a59861c4376b388d34c57f06c9a460e97">glDisplay::mWindowX</a></div><div class="ttdeci">Window mWindowX</div><div class="ttdef"><b>Definition:</b> glDisplay.h:612</div></div>
<div class="ttc" id="agroup__OpenGL_html_a7798109b583a2443473d895e62afce67"><div class="ttname"><a href="group__OpenGL.html#a7798109b583a2443473d895e62afce67">glDisplay::mMouseButtons</a></div><div class="ttdeci">bool mMouseButtons[16]</div><div class="ttdef"><b>Definition:</b> glDisplay.h:635</div></div>
<div class="ttc" id="aglEvents_8h_html"><div class="ttname"><a href="glEvents_8h.html">glEvents.h</a></div></div>
<div class="ttc" id="agroup__OpenGL_html_ae48ceb52e06b5d111777c5a92e3380db"><div class="ttname"><a href="group__OpenGL.html#ae48ceb52e06b5d111777c5a92e3380db">glDisplay::SetFullscreen</a></div><div class="ttdeci">void SetFullscreen(bool fullscreen)</div><div class="ttdoc">Set the window to fullscreen mode or not.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a80669db30cd225b4f6d0b8ab59237a97"><div class="ttname"><a href="group__OpenGL.html#a80669db30cd225b4f6d0b8ab59237a97">glDisplay::GetNumWidgets</a></div><div class="ttdeci">uint32_t GetNumWidgets() const</div><div class="ttdoc">Retrieve the number of widgets.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:564</div></div>
<div class="ttc" id="agroup__OpenGL_html_a2dd585c39b61c2b06c4bf21b9663ef93"><div class="ttname"><a href="group__OpenGL.html#a2dd585c39b61c2b06c4bf21b9663ef93">glDisplay::GetType</a></div><div class="ttdeci">virtual uint32_t GetType() const</div><div class="ttdoc">Return the interface type (glDisplay::Type)</div><div class="ttdef"><b>Definition:</b> glDisplay.h:108</div></div>
<div class="ttc" id="agroup__OpenGL_html_a82d14054eb62a16e6101a57e32a050e1"><div class="ttname"><a href="group__OpenGL.html#a82d14054eb62a16e6101a57e32a050e1">glDisplay::mRendering</a></div><div class="ttdeci">bool mRendering</div><div class="ttdef"><b>Definition:</b> glDisplay.h:618</div></div>
<div class="ttc" id="agroup__OpenGL_html_aad873a9d842442644747bdb3176efad8"><div class="ttname"><a href="group__OpenGL.html#aad873a9d842442644747bdb3176efad8">glDisplay::SetDragMode</a></div><div class="ttdeci">void SetDragMode(DragMode mode)</div><div class="ttdoc">Set the dragging behavior mode.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:516</div></div>
<div class="ttc" id="agroup__video_html_a473772043b363d7c8dc00cddb70b0aa9"><div class="ttname"><a href="group__video.html#a473772043b363d7c8dc00cddb70b0aa9">videoOutput::mStreaming</a></div><div class="ttdeci">bool mStreaming</div><div class="ttdef"><b>Definition:</b> videoOutput.h:321</div></div>
<div class="ttc" id="agroup__OpenGL_html_ab84607fffba7eb6a8dc4cd71981aefb6"><div class="ttname"><a href="group__OpenGL.html#ab84607fffba7eb6a8dc4cd71981aefb6">glDisplay::AddEventHandler</a></div><div class="ttdeci">void AddEventHandler(glEventHandler callback, void *user=NULL)</div><div class="ttdoc">Register an event message handler that will be called by ProcessEvents()</div></div>
<div class="ttc" id="agroup__OpenGL_html_a3af6f1d107f3deb4b18230af4e3561a8"><div class="ttname"><a href="group__OpenGL.html#a3af6f1d107f3deb4b18230af4e3561a8">glDisplay::mID</a></div><div class="ttdeci">uint32_t mID</div><div class="ttdef"><b>Definition:</b> glDisplay.h:623</div></div>
<div class="ttc" id="agroup__OpenGL_html_a617f568a9a94622e9c687540e36ea064"><div class="ttname"><a href="group__OpenGL.html#a617f568a9a94622e9c687540e36ea064">glDisplay::ResetDefaultCursor</a></div><div class="ttdeci">void ResetDefaultCursor(bool activate=true)</div><div class="ttdoc">Reset the default cursor back to it's original, the arrow.</div></div>
<div class="ttc" id="aglEvents_8h_html_aa598baa2224b84dff25efa47099a37d7"><div class="ttname"><a href="glEvents_8h.html#aa598baa2224b84dff25efa47099a37d7">KEY_OFFSET</a></div><div class="ttdeci">#define KEY_OFFSET</div><div class="ttdef"><b>Definition:</b> glEvents.h:45</div></div>
<div class="ttc" id="agroup__OpenGL_html_a4a4943779f0d036af2e49fc9d9a8aade"><div class="ttname"><a href="group__OpenGL.html#a4a4943779f0d036af2e49fc9d9a8aade">glDisplay::SetTitle</a></div><div class="ttdeci">void SetTitle(const char *str)</div><div class="ttdoc">Set the window title string.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a987e05d68219418d2d232665d92cc1a2"><div class="ttname"><a href="group__OpenGL.html#a987e05d68219418d2d232665d92cc1a2">glDisplay::screenIdx</a></div><div class="ttdeci">static const int screenIdx</div><div class="ttdef"><b>Definition:</b> glDisplay.h:607</div></div>
<div class="ttc" id="agroup__OpenGL_html_ab03fa54f8098a9db65bbdc1f00622ab0"><div class="ttname"><a href="group__OpenGL.html#ab03fa54f8098a9db65bbdc1f00622ab0">glDisplay::GetWidget</a></div><div class="ttdeci">glWidget * GetWidget(const uint32_t index) const</div><div class="ttdoc">Retrieve a widget.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:569</div></div>
<div class="ttc" id="agroup__OpenGL_html_a5e115cfde574e1b517a6422b1c3fbf02"><div class="ttname"><a href="group__OpenGL.html#a5e115cfde574e1b517a6422b1c3fbf02">glDisplay::GetBackgroundColor</a></div><div class="ttdeci">void GetBackgroundColor(float *r, float *g, float *b, float *a=NULL)</div><div class="ttdoc">Retrieve the window's background color.</div></div>
<div class="ttc" id="agroup__OpenGL_html_aa8149384dbd4a389281d1420608e8418"><div class="ttname"><a href="group__OpenGL.html#aa8149384dbd4a389281d1420608e8418">glDisplay::SetMaximized</a></div><div class="ttdeci">void SetMaximized(bool maximized)</div><div class="ttdoc">Maximize or un-maximize the window.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a634ed5ff30a1d2944f3667157a649c9a"><div class="ttname"><a href="group__OpenGL.html#a634ed5ff30a1d2944f3667157a649c9a">glDisplay::IsClosed</a></div><div class="ttdeci">bool IsClosed() const</div><div class="ttdoc">Returns true if the window has been closed.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:88</div></div>
<div class="ttc" id="agroup__OpenGL_html_aab1f8e0d4ac630ab4c9ab681c61d8419"><div class="ttname"><a href="group__OpenGL.html#aab1f8e0d4ac630ab4c9ab681c61d8419">glDisplay::mActiveCursor</a></div><div class="ttdeci">int mActiveCursor</div><div class="ttdef"><b>Definition:</b> glDisplay.h:615</div></div>
<div class="ttc" id="agroup__OpenGL_html_a7c96e8b41901e1b0555baef0433d5794"><div class="ttname"><a href="group__OpenGL.html#a7c96e8b41901e1b0555baef0433d5794">glDisplay::IsOpen</a></div><div class="ttdeci">bool IsOpen() const</div><div class="ttdoc">Returns true if the window is open.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:83</div></div>
<div class="ttc" id="agroup__OpenGL_html_a5a2cdebdf11ee3087900592d651bcceb"><div class="ttname"><a href="group__OpenGL.html#a5a2cdebdf11ee3087900592d651bcceb">glDisplay::FindWidgets</a></div><div class="ttdeci">std::vector&lt; glWidget * &gt; FindWidgets(int x, int y)</div><div class="ttdoc">Find all widgets by coordinate, or NULL if no widget overlaps with that coordinate.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a611350bedb3e68adfd0e691f3612fc89"><div class="ttname"><a href="group__OpenGL.html#a611350bedb3e68adfd0e691f3612fc89">glDisplay::GetMouseButton</a></div><div class="ttdeci">bool GetMouseButton(uint32_t button) const</div><div class="ttdoc">Get the mouse button state.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:402</div></div>
<div class="ttc" id="agroup__OpenGL_html_a84eb9bf5d9f74d79fe8ba412081a8998"><div class="ttname"><a href="group__OpenGL.html#a84eb9bf5d9f74d79fe8ba412081a8998">glDisplay::GetMousePosition</a></div><div class="ttdeci">const int * GetMousePosition() const</div><div class="ttdoc">Get the mouse position.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:380</div></div>
<div class="ttc" id="agroup__OpenGL_html_a6f26c928e592b54e91d95e3edd96575a"><div class="ttname"><a href="group__OpenGL.html#a6f26c928e592b54e91d95e3edd96575a">glDisplay::IsDragging</a></div><div class="ttdeci">bool IsDragging(DragMode mode=DragDefault) const</div><div class="ttdoc">Is the mouse currently dragging in the specified mode?</div><div class="ttdef"><b>Definition:</b> glDisplay.h:521</div></div>
<div class="ttc" id="agroup__OpenGL_html_ac3a52573738ea17a2dd9d4263c166759"><div class="ttname"><a href="group__OpenGL.html#ac3a52573738ea17a2dd9d4263c166759">glDisplay::mNormalizedWidth</a></div><div class="ttdeci">uint32_t mNormalizedWidth</div><div class="ttdef"><b>Definition:</b> glDisplay.h:639</div></div>
<div class="ttc" id="agroup__OpenGL_html_a65a2ec3a8dae7febff9c1e46b426c891"><div class="ttname"><a href="group__OpenGL.html#a65a2ec3a8dae7febff9c1e46b426c891">glDisplay::Open</a></div><div class="ttdeci">virtual bool Open()</div><div class="ttdoc">Open the window.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a0b7479b6bc4e384c66b164411333f00e"><div class="ttname"><a href="group__OpenGL.html#a0b7479b6bc4e384c66b164411333f00e">glDisplay::onEvent</a></div><div class="ttdeci">static bool onEvent(uint16_t msg, int a, int b, void *user)</div></div>
<div class="ttc" id="agroup__OpenGL_html_a14cf9b4f8c585e52963e8f644b816cd1"><div class="ttname"><a href="group__OpenGL.html#a14cf9b4f8c585e52963e8f644b816cd1">glDisplay::GetID</a></div><div class="ttdeci">uint32_t GetID() const</div><div class="ttdoc">Get the ID of this display instance into glGetDisplay()</div><div class="ttdef"><b>Definition:</b> glDisplay.h:103</div></div>
<div class="ttc" id="agroup__OpenGL_html_a022eebf333e5acf6df0fcf2f632a470a"><div class="ttname"><a href="group__OpenGL.html#a022eebf333e5acf6df0fcf2f632a470a">glDisplay::initGL</a></div><div class="ttdeci">bool initGL()</div></div>
<div class="ttc" id="agroup__OpenGL_html_a13bebe88c1df15a70255134da202a131"><div class="ttname"><a href="group__OpenGL.html#a13bebe88c1df15a70255134da202a131">glDisplay::Type</a></div><div class="ttdeci">static const uint32_t Type</div><div class="ttdoc">Unique type identifier of glDisplay class.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:113</div></div>
<div class="ttc" id="agroup__OpenGL_html_a89c660203dc7e4c95ebf1069681121b1"><div class="ttname"><a href="group__OpenGL.html#a89c660203dc7e4c95ebf1069681121b1">glDisplay::IsRendering</a></div><div class="ttdeci">bool IsRendering() const</div><div class="ttdoc">Returns true if between BeginRender() and EndRender()</div><div class="ttdef"><b>Definition:</b> glDisplay.h:93</div></div>
<div class="ttc" id="agroup__OpenGL_html_a4d20a9b3eb655b1719c3896f9af608e4"><div class="ttname"><a href="group__OpenGL.html#a4d20a9b3eb655b1719c3896f9af608e4">glDisplay::mWindowClosedMsg</a></div><div class="ttdeci">Atom mWindowClosedMsg</div><div class="ttdef"><b>Definition:</b> glDisplay.h:620</div></div>
<div class="ttc" id="agroup__OpenGL_html_a61179bfa1ba61d66ff243273c71bf5a3"><div class="ttname"><a href="group__OpenGL.html#a61179bfa1ba61d66ff243273c71bf5a3">glDisplay::SetViewport</a></div><div class="ttdeci">void SetViewport(int left, int top, int right, int bottom)</div><div class="ttdoc">Set the active viewport being rendered to.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a90ec991e713327245bcbc0e70af66232"><div class="ttname"><a href="group__OpenGL.html#a90ec991e713327245bcbc0e70af66232">glDisplay::mMouseDrag</a></div><div class="ttdeci">int mMouseDrag[2]</div><div class="ttdef"><b>Definition:</b> glDisplay.h:633</div></div>
<div class="ttc" id="astructglDisplay_1_1eventHandler_html_ab54a82feec2372289c14d0026f5f4b62"><div class="ttname"><a href="structglDisplay_1_1eventHandler.html#ab54a82feec2372289c14d0026f5f4b62">glDisplay::eventHandler::callback</a></div><div class="ttdeci">glEventHandler callback</div><div class="ttdef"><b>Definition:</b> glDisplay.h:603</div></div>
<div class="ttc" id="agroup__OpenGL_html_a57d3f8b1bec6eba7925e187367adab47"><div class="ttname"><a href="group__OpenGL.html#a57d3f8b1bec6eba7925e187367adab47">glDisplay::GetMousePosition</a></div><div class="ttdeci">void GetMousePosition(int *x, int *y) const</div><div class="ttdoc">Get the mouse position.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:385</div></div>
<div class="ttc" id="agroup__OpenGL_html_a23dd7a9f481c772766f049d8056a8dad"><div class="ttname"><a href="group__OpenGL.html#a23dd7a9f481c772766f049d8056a8dad">glDisplay::ResetViewport</a></div><div class="ttdeci">void ResetViewport()</div><div class="ttdoc">Reset to the full viewport (and change back GL_PROJECTION)</div></div>
<div class="ttc" id="agroup__OpenGL_html_a927c5467f9926f769d96ab60c0d55724"><div class="ttname"><a href="group__OpenGL.html#a927c5467f9926f769d96ab60c0d55724">glDisplay::mNormalizedCUDA</a></div><div class="ttdeci">float * mNormalizedCUDA</div><div class="ttdef"><b>Definition:</b> glDisplay.h:638</div></div>
<div class="ttc" id="agroup__OpenGL_html_gacbcfc0668226b31d1becba25887ff47e"><div class="ttname"><a href="group__OpenGL.html#gacbcfc0668226b31d1becba25887ff47e">glEventHandler</a></div><div class="ttdeci">bool(* glEventHandler)(uint16_t event, int a, int b, void *user)</div><div class="ttdoc">Event message handler callback for recieving UI messages from a window.</div><div class="ttdef"><b>Definition:</b> glEvents.h:291</div></div>
<div class="ttc" id="agroup__OpenGL_html_ac78bc19a9838670a017e80f56b9037df"><div class="ttname"><a href="group__OpenGL.html#ac78bc19a9838670a017e80f56b9037df">glDisplay::mInitialShow</a></div><div class="ttdeci">bool mInitialShow</div><div class="ttdef"><b>Definition:</b> glDisplay.h:617</div></div>
<div class="ttc" id="agroup__OpenGL_html_a90154b9452e23a0665360e2008950e23"><div class="ttname"><a href="group__OpenGL.html#a90154b9452e23a0665360e2008950e23">glDisplay::mScreenX</a></div><div class="ttdeci">Screen * mScreenX</div><div class="ttdef"><b>Definition:</b> glDisplay.h:610</div></div>
<div class="ttc" id="agroup__OpenGL_html_a8aeb33cd6f58d26db77c9fce47fe746b"><div class="ttname"><a href="group__OpenGL.html#a8aeb33cd6f58d26db77c9fce47fe746b">glDisplay::mViewport</a></div><div class="ttdeci">int mViewport[4]</div><div class="ttdef"><b>Definition:</b> glDisplay.h:630</div></div>
<div class="ttc" id="agroup__OpenGL_html_a05d0a6f141e5e77df7fddca438627b2b"><div class="ttname"><a href="group__OpenGL.html#a05d0a6f141e5e77df7fddca438627b2b">glDisplay::mCursors</a></div><div class="ttdeci">Cursor mCursors[256]</div><div class="ttdef"><b>Definition:</b> glDisplay.h:614</div></div>
<div class="ttc" id="agroup__OpenGL_html_ga6af68c26b9f5254ee676de8b6f332ad4"><div class="ttname"><a href="group__OpenGL.html#ga6af68c26b9f5254ee676de8b6f332ad4">glGetDisplay</a></div><div class="ttdeci">glDisplay * glGetDisplay(uint32_t display=0)</div><div class="ttdoc">Retrieve a display window object.</div></div>
<div class="ttc" id="agroup__OpenGL_html_aa8abd41c4dbaca15b2d092168ee14a83"><div class="ttname"><a href="group__OpenGL.html#aa8abd41c4dbaca15b2d092168ee14a83">glDisplay::BeginRender</a></div><div class="ttdeci">void BeginRender(bool processEvents=true)</div><div class="ttdoc">Clear window and begin rendering a frame.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a0d39d6f011999828560d8353edadf46ca96547b2cd90fa0568fac9236a4cf9ff2"><div class="ttname"><a href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca96547b2cd90fa0568fac9236a4cf9ff2">glDisplay::DragCreate</a></div><div class="ttdeci">@ DragCreate</div><div class="ttdoc">Create a new widget from a dragging rectangle, and issue WIDGET_CREATED events.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:505</div></div>
<div class="ttc" id="agroup__OpenGL_html_a50563f4387bcc0d66a61bf29cfa521a9"><div class="ttname"><a href="group__OpenGL.html#a50563f4387bcc0d66a61bf29cfa521a9">glDisplay::AddWidget</a></div><div class="ttdeci">glWidget * AddWidget(glWidget *widget)</div><div class="ttdoc">Add a widget to the window that recieves events and is rendered.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a3978a9f43490e6f19268ca5225679c60"><div class="ttname"><a href="group__OpenGL.html#a3978a9f43490e6f19268ca5225679c60">glDisplay::~glDisplay</a></div><div class="ttdeci">~glDisplay()</div><div class="ttdoc">Destroy window.</div></div>
<div class="ttc" id="agroup__OpenGL_html_aa1c19aa18e413da822f284c500a2af6f"><div class="ttname"><a href="group__OpenGL.html#aa1c19aa18e413da822f284c500a2af6f">glDisplay::RemoveEventHandler</a></div><div class="ttdeci">void RemoveEventHandler(glEventHandler callback, void *user=NULL)</div><div class="ttdoc">Remove an event message handler from being called by ProcessEvents() RemoveEventHandler() will search...</div></div>
<div class="ttc" id="agroup__OpenGL_html_classglTexture"><div class="ttname"><a href="group__OpenGL.html#classglTexture">glTexture</a></div><div class="ttdoc">OpenGL texture with CUDA interoperability.</div><div class="ttdef"><b>Definition:</b> glTexture.h:51</div></div>
<div class="ttc" id="agroup__OpenGL_html_a893682bb4ca0ae400c48aed020408128"><div class="ttname"><a href="group__OpenGL.html#a893682bb4ca0ae400c48aed020408128">glDisplay::mScreenWidth</a></div><div class="ttdeci">uint32_t mScreenWidth</div><div class="ttdef"><b>Definition:</b> glDisplay.h:624</div></div>
<div class="ttc" id="agroup__OpenGL_html_adfe7e2b2b85b8888b21c07e56718ef57"><div class="ttname"><a href="group__OpenGL.html#adfe7e2b2b85b8888b21c07e56718ef57">glDisplay::mScreenHeight</a></div><div class="ttdeci">uint32_t mScreenHeight</div><div class="ttdef"><b>Definition:</b> glDisplay.h:625</div></div>
<div class="ttc" id="agroup__OpenGL_html_af4009a157353ae44f371fd3d5ca4bc08"><div class="ttname"><a href="group__OpenGL.html#af4009a157353ae44f371fd3d5ca4bc08">glDisplay::mWidgets</a></div><div class="ttdeci">std::vector&lt; glWidget * &gt; mWidgets</div><div class="ttdef"><b>Definition:</b> glDisplay.h:642</div></div>
<div class="ttc" id="agroup__OpenGL_html_a5e209d2b90b11c2948a0cd98c19624e7"><div class="ttname"><a href="group__OpenGL.html#a5e209d2b90b11c2948a0cd98c19624e7">glDisplay::RemoveAllWidgets</a></div><div class="ttdeci">void RemoveAllWidgets(bool deleteWidgets=true)</div><div class="ttdoc">Remove all widgets from the window (and optionally delete them)</div></div>
<div class="ttc" id="agroup__OpenGL_html_a0d39d6f011999828560d8353edadf46c"><div class="ttname"><a href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46c">glDisplay::DragMode</a></div><div class="ttdeci">DragMode</div><div class="ttdoc">Drag behavior enum.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:500</div></div>
<div class="ttc" id="aglWidget_8h_html"><div class="ttname"><a href="glWidget_8h.html">glWidget.h</a></div></div>
<div class="ttc" id="agroup__OpenGL_html_a130822b4a5eda58692c0899627790700"><div class="ttname"><a href="group__OpenGL.html#a130822b4a5eda58692c0899627790700">glDisplay::GetFPS</a></div><div class="ttdeci">float GetFPS() const</div><div class="ttdoc">Get the average frame time (in milliseconds).</div><div class="ttdef"><b>Definition:</b> glDisplay.h:98</div></div>
<div class="ttc" id="agroup__OpenGL_html_a17d12d2c47a7015917dd047734eb3e73"><div class="ttname"><a href="group__OpenGL.html#a17d12d2c47a7015917dd047734eb3e73">glDisplay::Render</a></div><div class="ttdeci">bool Render(T *image, uint32_t width, uint32_t height)</div><div class="ttdoc">Render a CUDA image (uchar3, uchar4, float3, float4) using OpenGL interop.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:160</div></div>
<div class="ttc" id="agroup__OpenGL_html_ac390303fad04b7ffac04f208f48ea536"><div class="ttname"><a href="group__OpenGL.html#ac390303fad04b7ffac04f208f48ea536">glDisplay::RenderRect</a></div><div class="ttdeci">void RenderRect(float x, float y, float width, float height, float r, float g, float b, float a=1.0f)</div><div class="ttdoc">Render a filled rect in screen coordinates with the specified color.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a56e08dd6f4895451391ff9ce7e7b9390"><div class="ttname"><a href="group__OpenGL.html#a56e08dd6f4895451391ff9ce7e7b9390">glDisplay::mBgColor</a></div><div class="ttdeci">float mBgColor[4]</div><div class="ttdef"><b>Definition:</b> glDisplay.h:629</div></div>
<div class="ttc" id="agroup__OpenGL_html_a0fa64e4b894f4084fb9c6ba1fb249658"><div class="ttname"><a href="group__OpenGL.html#a0fa64e4b894f4084fb9c6ba1fb249658">glDisplay::mDragMode</a></div><div class="ttdeci">DragMode mDragMode</div><div class="ttdef"><b>Definition:</b> glDisplay.h:621</div></div>
<div class="ttc" id="agroup__video_html_classvideoOutput"><div class="ttname"><a href="group__video.html#classvideoOutput">videoOutput</a></div><div class="ttdoc">The videoOutput API is for rendering and transmitting frames to video input devices such as display w...</div><div class="ttdef"><b>Definition:</b> videoOutput.h:104</div></div>
<div class="ttc" id="agroup__OpenGL_html_a37ade3534f9a2eae6f77170310d1e9f0"><div class="ttname"><a href="group__OpenGL.html#a37ade3534f9a2eae6f77170310d1e9f0">glDisplay::Create</a></div><div class="ttdeci">static glDisplay * Create(const char *title=NULL, int width=-1, int height=-1, float r=0.05f, float g=0.05f, float b=0.05f, float a=1.0f)</div><div class="ttdoc">Create a new OpenGL display window with the specified options.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a90e336dd87d340d9fcf592f297fcf3b9"><div class="ttname"><a href="group__OpenGL.html#a90e336dd87d340d9fcf592f297fcf3b9">glDisplay::IsFullscreen</a></div><div class="ttdeci">bool IsFullscreen()</div><div class="ttdoc">Determine if the window is fullscreen or not.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a13db65eada3b098f3e301fee10de9917"><div class="ttname"><a href="group__OpenGL.html#a13db65eada3b098f3e301fee10de9917">glDisplay::RenderLine</a></div><div class="ttdeci">void RenderLine(float x1, float y1, float x2, float y2, float r, float g, float b, float a=1.0f, float thickness=2.0f)</div><div class="ttdoc">Render a line in screen coordinates with the specified color.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880"><div class="ttname"><a href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca84194cf4cdc04745c23f8dc7b844c880">glDisplay::DragDefault</a></div><div class="ttdeci">@ DragDefault</div><div class="ttdoc">Issue MOUSE_DRAG events, but nothing else.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:502</div></div>
<div class="ttc" id="agroup__OpenGL_html_a2d545e3ad748e899a413b1c954dc06d4"><div class="ttname"><a href="group__OpenGL.html#a2d545e3ad748e899a413b1c954dc06d4">glDisplay::initWindow</a></div><div class="ttdeci">bool initWindow()</div></div>
<div class="ttc" id="agroup__OpenGL_html_a737d99f08c2b1cedcacb1f1f559bf1aa"><div class="ttname"><a href="group__OpenGL.html#a737d99f08c2b1cedcacb1f1f559bf1aa">glDisplay::GetDragCoords</a></div><div class="ttdeci">bool GetDragCoords(int *x1, int *y1, int *x2, int *y2)</div><div class="ttdoc">Get the current dragging coordinates, or return false if not dragging.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a3bfec8d5ad04e8737a3ef7cfb13bc06f"><div class="ttname"><a href="group__OpenGL.html#a3bfec8d5ad04e8737a3ef7cfb13bc06f">glDisplay::IsMaximized</a></div><div class="ttdeci">bool IsMaximized()</div><div class="ttdoc">Determine if the window is maximized or not.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a0d39d6f011999828560d8353edadf46ca7c0c23139342b3550ff19b6025087575"><div class="ttname"><a href="group__OpenGL.html#a0d39d6f011999828560d8353edadf46ca7c0c23139342b3550ff19b6025087575">glDisplay::DragSelect</a></div><div class="ttdeci">@ DragSelect</div><div class="ttdoc">Select widgets from a dragging rectangle, and issue WIDGET_SELECTED events.</div><div class="ttdef"><b>Definition:</b> glDisplay.h:504</div></div>
<div class="ttc" id="agroup__OpenGL_html_a63318712adb85328a1b42fc5237ba1d4"><div class="ttname"><a href="group__OpenGL.html#a63318712adb85328a1b42fc5237ba1d4">glDisplay::mEventHandlers</a></div><div class="ttdeci">std::vector&lt; eventHandler &gt; mEventHandlers</div><div class="ttdef"><b>Definition:</b> glDisplay.h:644</div></div>
<div class="ttc" id="agroup__video_html_structvideoOptions"><div class="ttname"><a href="group__video.html#structvideoOptions">videoOptions</a></div><div class="ttdoc">The videoOptions struct contains common settings that are used to configure and query videoSource and...</div><div class="ttdef"><b>Definition:</b> videoOptions.h:37</div></div>
<div class="ttc" id="agroup__OpenGL_html_a6de44eb3a03c6053ee61cb5cccce3f28"><div class="ttname"><a href="group__OpenGL.html#a6de44eb3a03c6053ee61cb5cccce3f28">glDisplay::RemoveWidget</a></div><div class="ttdeci">void RemoveWidget(glWidget *widget, bool deleteWidget=true)</div><div class="ttdoc">Remove a widget from the window (and optionally delete it)</div></div>
<div class="ttc" id="agroup__OpenGL_html_ac62b17bd5fc32d79a65c4fe675ba643c"><div class="ttname"><a href="group__OpenGL.html#ac62b17bd5fc32d79a65c4fe675ba643c">glDisplay::activateViewport</a></div><div class="ttdeci">void activateViewport()</div></div>
<div class="ttc" id="agroup__OpenGL_html_a2a1bbe0f4e81a8a639ad1262e2e984e1"><div class="ttname"><a href="group__OpenGL.html#a2a1bbe0f4e81a8a639ad1262e2e984e1">glDisplay::GetDragRect</a></div><div class="ttdeci">bool GetDragRect(int *x, int *y, int *width, int *height)</div><div class="ttdoc">Get the current dragging rectangle, or return false if not dragging.</div></div>
<div class="ttc" id="acudaMath_8h_html_a03895877c88d7a470fbd49f69742033a"><div class="ttname"><a href="cudaMath_8h.html#a03895877c88d7a470fbd49f69742033a">normalize</a></div><div class="ttdeci">__host__ __device__ float2 normalize(float2 v)</div><div class="ttdef"><b>Definition:</b> cudaMath.h:1580</div></div>
<div class="ttc" id="agroup__OpenGL_html_a11c7c3c210333feb222d6f2480dbbc85"><div class="ttname"><a href="group__OpenGL.html#a11c7c3c210333feb222d6f2480dbbc85">glDisplay::GetKey</a></div><div class="ttdeci">bool GetKey(uint32_t key) const</div><div class="ttdoc">Get the state of a key (lowercase, without modifiers applied)</div><div class="ttdef"><b>Definition:</b> glDisplay.h:425</div></div>
<div class="ttc" id="agroup__OpenGL_html_ad809588391d7a2edafb0df1ea96ac35a"><div class="ttname"><a href="group__OpenGL.html#ad809588391d7a2edafb0df1ea96ac35a">glDisplay::mDisplayX</a></div><div class="ttdeci">Display * mDisplayX</div><div class="ttdef"><b>Definition:</b> glDisplay.h:609</div></div>
<div class="ttc" id="avideoOutput_8h_html"><div class="ttname"><a href="videoOutput_8h.html">videoOutput.h</a></div></div>
<div class="ttc" id="agroup__OpenGL_html_a52516d4523e536c9ed2e40113ee3856e"><div class="ttname"><a href="group__OpenGL.html#a52516d4523e536c9ed2e40113ee3856e">glDisplay::SetSize</a></div><div class="ttdeci">void SetSize(uint32_t width, uint32_t height)</div><div class="ttdoc">Set the window's size.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a9d0985706dcaac9919dd75c858466546"><div class="ttname"><a href="group__OpenGL.html#a9d0985706dcaac9919dd75c858466546">glDisplay::FindWidget</a></div><div class="ttdeci">glWidget * FindWidget(int x, int y)</div><div class="ttdoc">Find first widget by coordinate, or NULL if no widget overlaps with that coordinate.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a060f50c9661124d2d8aa457dfe30d4bc"><div class="ttname"><a href="group__OpenGL.html#a060f50c9661124d2d8aa457dfe30d4bc">glDisplay::mLastTime</a></div><div class="ttdeci">timespec mLastTime</div><div class="ttdef"><b>Definition:</b> glDisplay.h:627</div></div>
<div class="ttc" id="agroup__imageFormat_html_ga931c48e08f361637d093355d64583406"><div class="ttname"><a href="group__imageFormat.html#ga931c48e08f361637d093355d64583406">imageFormat</a></div><div class="ttdeci">imageFormat</div><div class="ttdoc">The imageFormat enum is used to identify the pixel format and colorspace of an image.</div><div class="ttdef"><b>Definition:</b> imageFormat.h:49</div></div>
<div class="ttc" id="aglUtility_8h_html"><div class="ttname"><a href="glUtility_8h.html">glUtility.h</a></div></div>
<div class="ttc" id="agroup__OpenGL_html_a97612036c5849cb4d7026337f2603c87"><div class="ttname"><a href="group__OpenGL.html#a97612036c5849cb4d7026337f2603c87">glDisplay::EndRender</a></div><div class="ttdeci">void EndRender()</div><div class="ttdoc">Finish rendering and refresh / flip the backbuffer.</div></div>
<div class="ttc" id="agroup__OpenGL_html_a5696e63a87c34b0d50d1615bca5072ad"><div class="ttname"><a href="group__OpenGL.html#a5696e63a87c34b0d50d1615bca5072ad">glDisplay::mAvgTime</a></div><div class="ttdeci">float mAvgTime</div><div class="ttdef"><b>Definition:</b> glDisplay.h:628</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_54a0acf6da04fe2ed9410b4c6369bc5d.html">jetson-utils</a></li><li class="navelem"><a class="el" href="glDisplay_8h.html">glDisplay.h</a></li>
    <li class="footer">Generated on Tue Mar 28 2023 14:27:58 for Jetson Inference by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
